<template>
  <el-dropdown trigger="click" class="international" @command="handleSetLanguage">
    <div>
      <svg-icon class-name="international-icon" icon-class="language" />
    </div>
    <el-dropdown-menu slot="dropdown">
      <!-- <el-dropdown-item :disabled="language==='zh-cn'" command="zh-cn">中文</el-dropdown-item> -->
      <!-- <el-dropdown-item :disabled="language==='en'" command="en">English</el-dropdown-item> -->
      <!-- <el-dropdown-item :disabled="language==='es'" command="es">Español</el-dropdown-item> -->
      <el-dropdown-item v-for="(item, index) in languages" :key="index" :command="item.abbr" :disabled="language===item.abbr" >{{ item.name }}</el-dropdown-item>
    </el-dropdown-menu>
  </el-dropdown>
</template>

<script>
import { fetchList } from '@/api/languages'


export default {
  data() {
    return {
      languages: [],
    }
  },
  computed: {
    language() {
      return this.$store.getters.language
    }
  },
  created() {
    var _this = this
    fetchList().then(response => {
            var i = 0
            var list = []
            if (parseInt(response.data.code) == 0) {
              var data = response.data.data
              for(i in data) {
                list.push({ abbr: data[i].abbr, name: data[i].name })
              }
            }
            _this.languages = list
            this.$store.commit('SET_LANGUAGES', list)
          }).catch(error => {
          })
  },
  methods: {
    handleSetLanguage(lang) {
      this.$i18n.locale = lang
      this.$store.dispatch('setLanguage', lang)
      window.location.reload()
      // this.$message({
      //   message: 'Switch Language Success',
      //   type: 'success'
      // })
    },
  }
}
</script>

<style scoped>
.international-icon {
  font-size: 20px;
  cursor: pointer;
  vertical-align: -5px!important;
}
</style>

